package ReSofting.it.GoldDirector.Helpers;

import java.util.ArrayList;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CheckedTextView;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.SeekBar;
import android.widget.TextView;
import ReSofting.it.GoldDirector.R;
import ReSofting.it.GoldDirector.Adapters.CheckListArrAdapter;
import ReSofting.it.GoldDirector.Interfaces.IInputBoxDelegate2;
import ReSofting.it.GoldDirector.Model.GlobalDatas;

public class InputBoxQuanti 
{
	
		
		static AlertDialog.Builder alert = null ;		
		IInputBoxDelegate2<Integer,String> listener;
		ArrayList<String> _aggiunteList = new ArrayList<String>();
		static View _layout = null;
		SeekBar _seekBar = null;
		TextView   _progressText = null; 
		int _quantiPezzi = 1;
		Context _context= null;
				
	  public InputBoxQuanti(IInputBoxDelegate2<Integer,String> listener , Context pContext) 
	  	{
	        this.listener = listener;
	        this._context = pContext;
	        

	        LayoutInflater inflater = (LayoutInflater) _context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			_layout = inflater.inflate(ReSofting.it.GoldDirector.R.layout.input_quanti,null );
        
			
			_progressText = (TextView)  _layout.findViewById(R.id.inputQuantiTxt_TotItems);	 
			
			Button startBtn = (Button)  _layout.findViewById(R.id.inputQuantiBut_Piu);	     
			 startBtn.setOnClickListener(new OnClickListener() {
		            public void onClick(View view) 
		            {  
		            	++_quantiPezzi ;
		            	_progressText.setText(" >  " + _quantiPezzi );	
		    	    	
		            }});
			 
			 Button getItemsBtn = (Button)  _layout.findViewById(R.id.inputQuantiBut_Meno);	     
			 getItemsBtn.setOnClickListener(new OnClickListener() {
		            public void onClick(View view) 
		            {   
		            	if(_quantiPezzi == 1) return;
		            	--_quantiPezzi ; 
		            	_progressText.setText(" >  " + _quantiPezzi );	
			    	}});
			
		}//fM
	  
	 	
		
		public void showInputBox(String pTitle, String pMessage,int pDefault, final String pToken)
		{
			AlertDialog.Builder alert = new AlertDialog.Builder(_context);
											
			final ListView aggiunteListV =  (ListView) _layout.findViewById(R.id.inputQuanti_listAggiunte);
			aggiunteListV.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
			aggiunteListV.setClickable(true);
			aggiunteListV.setAdapter(new CheckListArrAdapter(_context, R.layout.checkrow, GlobalDatas.AggiunteList));
			
						
			alert.setTitle(pTitle)
		    .setMessage(pMessage)
		    .setView(_layout)
		    .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
		        public void onClick(DialogInterface dialog, int whichButton) {
		        			        	
		            		           
		         
		           		            		
		            String aggiunte = "";
		            for(int i=0; i < aggiunteListV.getChildCount(); i++)
			        {
		            	 View rowView = aggiunteListV.getChildAt(i);
		                 if(rowView != null)
		                 {
		                	 CheckBox tt = (CheckBox) rowView.findViewById(R.id.checkBoxRow);
		 					 String txt = (String) tt.getText();
		 					 
		 					 if(tt.isChecked())
		 					 {
			                	 Log.d("In iterate view ","Testo agg : "+ txt);
			                	 
			                	 if(aggiunte.length() > 0)
			                		 aggiunte += ", ";
			                	 
			                	 aggiunte += txt ;
		 					 }
		                 }
		                 
						//_aggiunte += _aggiunteList.get(i) + ","; 						
			        }	
		            		            
		            Log.d("In InputBoxQuanti calling onInputCallComplete2 ",_quantiPezzi + " - "+ aggiunte);
		            listener.onInputCallComplete2(_quantiPezzi, aggiunte  ,pToken);
		            
		        }
		    }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
		        public void onClick(DialogInterface dialog, int whichButton) {
		        	listener.onInputCallComplete2(0,null,  pToken);
		            //notify;
		        }
		    });
					
			alert.show();
		    //.show();
					 
		
		}//fM


		

	}//fC

